Maelstrom 1.3 Notes
------------------

Maelstrom Ñ 1. any large or violent whirlpool   2. a violently confused or dangerously agitated state of mind, emotion, affairs, etc.

.....

Registered users:

I'd like to extend a personal note of thanks to all of you who have supported me by sending in your registration fee and suggestions.  I would not continue do update Maelstrom, nor plan future games were it not for your support.  Maelstrom 1.3 is a free upgrade--as all Maelstrom upgrades will be--if you've already registered.  Thanks friends!

I have started work on my next game, Martinet, and I hope not to disappoint you.  I expect that it will be finished sometime in December '93 (provided that I can afford to give Martinet my full attention).

.....

Answers to frequently asked questions:

     -- Despite a number of requests, I have no plans to port Maelstrom over to the IBM PC.  I lack the know-how, time, and inclination to undertake such a project, so it doesn't look like it is going to happen.  Sure is nice for the shoe to be on the other foot for once, no?

     -- Maelstrom *requires* System 6.07 or later (yes, it works just fine with System 7).  It also requires a 256 color/gray scale monitor.  There have been numerous requests for a black & white version; sorry to say that this won't be happening.  It would require an entire rewrite of much of the game, all new artwork optimized for black & white, and in the end I don't think it would look all that great.  Sorry friends...

     -- Some people have asked that Maelstrom take advantage of screens larger than the standard Apple 14" monitor.  Maelstrom already does: it centers the game window on such larger screens, and puts a border around the game play area.  If Maelstrom expanded to fill the entire size of a large-screen monitor, game play would be altered radically because it would be much easier to play the game with a larger game play area.  In short: though it could be done, it won't be done because I want game play to be consistent no matter what machine you play Maelstrom on.

     -- You should usually keep the Maelstrom controls set to the "factory default."  Some new Apple keyboard don't allow for more than two keys to be down simultaneously--which can inhibit good game play.  However the Shift, Option, Control, and Command keys don't count as real keys, so if you have a few of Maelstrom's controls set to these keys (as in the "factory default" controls), you'll have much better control over your ship.

     -- To access the "cheat mode", hit the 'L' key at the main title screen.  A dialog box will appear that allows you to choose the starting wave, number of lives, and turbofunk option.  You won't be able to get a high score if you use this "cheat mode", but it is a good way to practice.

     -- Luck gives you a 1 in 3 chance of saving your ship when you should have died (you'll hear "Sweet!" if that happens) and a 1 in 3 chance of keeping your special weapons when you do die.  Lady luck is a fickle mistress!

.....

Compatibility:

     -- Apple's control panel "Easy Access" can cause problems for Maelstrom if you have the shift key set as one of the ship controls (as it is initially).  Easy Access is a program that makes it easier for a disabled person to use the Macintosh.  You may not even realize it is installed, and if you don't use it you might as well throw it out.
         Here's how to check.  Under System 6, open up the System Folder and look for a file called "Easy Access".  If it is there, remove it from your System Folder and reboot.  Under System 7, open up the Control Panels folder in the System Folder and look for a file called "Easy Access".  Again, if it is there, remove it from the Control Panels folder.

     -- Virtual Memory.  If you have virtual memory turned on, it may slow down Maelstrom's game play.  This is unavoidable; the only solution is to turn virtual memory off before playing Maelstrom.

     -- Out of memory.  Apparently some INITs allocate a good deal of memory in the Application heap; in this case you'll be told that Maelstrom ran out of memory "...during a crucial operation".  If this happens to you, choose Get Info on Maelstrom in the Finder, and up the memory allocation.  Alternately you can startup without any INITs loaded and play Maelstrom.  Do this by restarting your Macintosh, then holding the shift key down until you see the message "Extensions Disabled" under the "Welcome to Macintosh" graphic.

     -- Disable programs like Thunder 7 before using Maelstrom; Thunder 7 records your keystrokes _while_you_are_playing_Maelstrom_, which can cause problems when you attempt to enter a high score.

     -- If you use an alternate Maelstrom Sounds file (several people have created such files), make sure you allocate more memory to Maelstrom or the game may not be able to load.  Also make sure that the alternate sounds file complies with the sound format required by Maelstrom 1.1 (see below for details).

.....

Contacting the Author:

     -- I welcome comments, praise, constructive criticism, and suggestions alike.  I can be reached the following ways:

America Online--> AmbrosiaSW
     Compuserve--> 73424, 1226
               GEnie--> ANDREW.WELCH
           Internet--> AmbrosiaSW@AOL.com
                  Fax--> 716.475.9289
            US Mail--> AndrewWelch
                             Ambrosia Software, Inc.
                             PO Box 23140
                             Rochester, NY 14692

.....

Technical Notes:

     -- Maelstrom was written in THINK C 5.04.  The main portion of the game is in approximately 9,000 lines of assembler.  The non-critical and supporting portions of the game are in approximately 18,000 lines of plain old C.  Maelstrom uses custom blitting routines for optimal animation performance.

.....

Change history:

Version 1.3 -- Released 9/93

     -- Added code for the Maelstrom High Score Contest!  See the accompanying text file "Maelstrom High Score Contest" for details!

     -- Maelstrom will now switch your monitor into 256 color mode (if it isn't already in that mode) when you start it up, so you don't need to go to the Monitors control panel every time you want to play.

     -- Vastly improved the registration process.

     -- Fixed a few minor bugs.

.....

Version 1.2 -- Released 6/93

     -- OOOPS.  The method AST used to generate 4 channel sounds in version 1.1 caused a distinctive hissing sound for certain people.  The interesting thing about this is that it had nothing to do with the machine, the "problem" was on the human end.  Some people are apparently more sensitive to certain sounds than others.  This problem has been fixed, but I had to drop down to a two-channel sound system to do it.  Maelstrom now uses the two channel version of my Ambrosia Sound Tool (AST).

     -- Maelstrom now allows you to switch it into the background when you are on the main title screen, or while the game is paused.  This often-requested feature has finally made the cut.  When Maelstrom is in the background, it reduces itself to a small icon-sized window.  To go back to playing Maelstrom, either switch it in or click on this icon-sized window and you're in business.

     -- The Space Bar hides/shows the menu bar when you are on the main title screen.  This will mainly be of interest to those of you who have small (12") monitors, because the menu bar obscures part of the screen when it is shown on these monitors.

     -- The shield key is now much more forgiving.  Some people felt that in previous versions, the shield response was a little slow; this actually was not the case--Maelstrom checks to see what keys are down before it does hit detection--but I decided to make the change anyway.  Maelstrom now checks the shield key right before you'd normally be hit, and your butt is saved if it is down.

     -- Fixed a bug in the registration printing that would cause your comments to be abbreviated if they were longer than 255 letters.

     -- Maelstrom is now better at restoring the color environment when it quits.  Some people experienced psychedelic color effects after quitting previous versions of Maelstrom.

     -- In previous versions, when you got the long shots prize, the enemy did too.  This little bit of unfairness has been fixed.

     -- Nova and Vortexes will now never appear right under your ship.  Sometimes that used to happen, which of course killed you immediately.  Not nice.

     -- The keyboard controls configuration dialog box has been revamped a bit to make it easier to use.

     -- I've added a few aesthetic touches here and there to spruce the interface up a bit.  Nothing major.

     -- I've added to ability to choose the number of lives you start out with in the "cheat mode".

     -- Fixed a bug with the thrust sound effect that was introduced in version 1.1.

.....

Version 1.1 -- Released 5/93

     -- Fixed a problem with the Maelstrom title picture that would cause the picture to not appear on certain monitor/video card combinations.

     -- Fixed a bug that would cause Maelstrom to crash during loading if you have more than one monitor, _and_ a monitor other than the main monitor set to a color depth greater than 256 colors.

     -- Maelstrom now uses a four channel sound mixer (Ambrosia Sound Tool or AST), this enables Maelstrom to play up to four sounds simultaneously for more realistic game play.

     -- Because of the changes needed to implement a four channel sound system (AST), some of the alternate Maelstrom Sounds files created by people other than myself will no longer work with Maelstrom.  All of Maelstrom's sounds must now be sampled at 11kHz to work properly.  Hopefully the creators of these alternate Maelstrom Sounds files will change their sounds so that they will work with Maelstrom 1.1.

     -- The thrusters now play continuous sound effects when you hold the thrust key down.

     -- Maelstrom now supports a wider array of sound levels (eight versus the seven that were formerly offered).

     -- For a truly hi-fi experience, try plugging a pair of headphones into your Mac's headphone jack, and put 'em on while playing Maelstrom.

     -- Fixed a bug that would cause Maelstrom's event timing (such as when a multiplier appears, etc) to become skewed if you paused the game

     -- Maelstrom's registration form is now filled in on the computer screen.

     -- Maelstrom's registration form had problems printing on certain non-standard printers; fonts would be clipped incorrectly.  This has been fixed.

.....

Version 1.03 -- Released 12/92

     -- Fixed a typo in Maelstrom's error messages

     -- Fixed a cosmetic problem with the cheat mode on 12" monitors

     -- Fixed a problem that would cause the sound to stop playing on certain machines.  I believe that this is an Apple bug in the Sound Manager, but I've come up with a work-around.

     -- Added a sound volume control

     -- Fixed a bug that would cause Maelstrom to hang on the bonus/game over screens on certain machines with accelerator boards.  Again, I believe that this is an Apple bug in the Sound Manager, but I've come up with a work-around.

     -- Fixed a bug that would cause Maelstrom to not center Dialog Boxes properly if you were playing the game on a second monitor (ie not the main one).

.....

Version 1.02 -- Released 12/92

     -- We now make sure you are running System 6.07 or later before the game even tries to load.

     -- The "phantom typist" has been exorcised.

     -- Screen Savers such as After Dark(TM) or Pyro!(TM) will no longer invoke while the game is paused, nor after you've finished playing.

     -- Enemy shots are now completely absorbed by your shield.

     -- The "Lives" and "Wave" indicators are updated at a more proper time now.

     -- The shield and other controls are a bit more responsive now.  I check for key presses before the sprites are moved now, so you have a split second more to avoid being wasted by that nasty steel asteroid.

     -- Fixed a bug that caused the between wave bonus information to not be vertically centered.  This only affects people with monitors bigger than 19".

     -- We now allocate a chunk of emergency memory so there is enough spare memory around in case there is a dire problem.  Apparently some INITs allocate a good deal of memory in the Application heap; this used to cause Maelstrom to crash (actually it was trying to tell you it ran out of memory, but there was so little memory available it couldn't even do that).  Now you'll be told that Maelstrom ran out of memory.  If this happens to you, choose Get Info on Maelstrom in the Finder, and up the memory allocation.

     -- Fixed a bug that caused the game to play the "Idiot" sound when you caught an explosion present.

     -- Fixed a bug that could cause you do die inexplicably when the enemy ship appears.

     -- Fixed a timing problem that could cause some sounds to get cut off before they have a chance to finish playing in the between wave bonus tally.

.....

Version 1.01 -- Released 12/92

     -- Fixed a bug that would cause the game to crash at unpredictable times on certain machines (not mine of course).  Boy was that a tough one to track down!  Praise Zeus that I have great beta testers!

     -- Fixed a bug that would cause the second About... screen to freeze on machines with large monitors.  A silly mistake that I didn't catch because I don't have one of those big, luxurious monitors to bask in front of.

     -- Added cinematic fades for screen transitions.  I'm not Francis Ford Coppola, but I do like these transitions.

     -- The game screen is now centered on monitors larger than 13", with a nice border around it.  This should please people who have large screens.

     -- The sound code was overhauled to fix a minor problem, and to make the game play smoother.  Now using _SndDoCommand with bufferCmd's instead of _SndPlay.

     -- The memory management code was overhauled to make game play smoother, and avoid heap fragmentation.  Enough memory for all the sprites is allocated when the game is loading, and is reused as sprites are created and destroyed.  Previously the game was allocating memory for the sprites on the fly, which slowed the animation down slightly.

     -- Added a version number to the registration form.  Got to be able to keep track of all the versions!

     -- Fixed a bug that would cause crashes on startup with oddball video cards/monitors by getting rid of unneeded calls to _ProtectEntry & _ReserveEntry.

     -- The ACME supply canisters now have equal ranges for the horizontal and vertical velocities.  Previously the ACME canisters traveled much quicker in the vertical direction than in the horizontal.

.....

Version 1.0 -- Initial release 11/92

.....

Musical Credits:

Thanks to the following artists for creating most excellent tunes that made writing and debugging Maelstrom more of a pleasure:  The Doors, Jimi Hendrix, The Red Hot Chili Peppers, Nirvana, Pink Floyd, Porno for Pyros, Frank Zappa, CCR, Jane's Addiction and all the rest I forgot to mention.

